package com.dcy.daily.skill.rabbitMQ.springAMQP.tmp.amqpTemplate;

import com.dcy.daily.common.config.annotation.ComponentUtil;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
import org.springframework.context.annotation.Bean;


/**
 * MQ配置类，声明队列，springboot会自动将Queue分配到RabbitAdmin。
 * 需要结合配置文件配置CachingConnectionFactory信息。
 * @author duanchunyu
 * @version 1.0.0
 * @createTime 2021年07月22日 11:10
 */
@ComponentUtil.CComponent
public class RabbitMqConfig {

    @Bean
    public Queue myQueue() {
        return new Queue("myqueue");
    }


    /**
     * MQ连接工厂
     * @return
     */
    @Bean
    CachingConnectionFactory ccf() {
        CachingConnectionFactory ccf = new CachingConnectionFactory();
        ccf.setHost("centos-node-135");
        ccf.setUsername("guest");
        ccf.setPassword("guest");
        ccf.setPort(5672);
        //使得确认处理生效
        ccf.setPublisherConfirmType(CachingConnectionFactory.ConfirmType.CORRELATED);
        ccf.setPublisherReturns(true);
        return ccf;
    }


}
